package org.jeecg.modules.zhoupackage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.zhoupackage.GoodsOrder.pojo.MlccThirdGoodsOrder;
import org.jeecg.modules.zhoupackage.pojo.MlccFabricOrderinfo;
import org.jeecg.modules.zhoupackage.pojo.MlccSingleOrderInfo;
import org.jeecg.modules.zhoupackage.pojo.MlccTeamOrderInfo;
import org.jeecg.modules.zhoupackage.pojo.MyOrderEntity;
import org.springframework.stereotype.Repository;

import java.util.Set;

/**
 * 面料订单Mapper
 *
 * @author zxl
 * @since 20200923
 */
@Mapper
@Repository
public interface MyMlccFabricOrderinfoMapper extends BaseMapper<MlccFabricOrderinfo> {

    /**
     * 我的订单界面获取面料订单列表
     *
     * @param page    分页器
     * @param token   令牌
     * @param cartid  购物车id
     * @param time    开始时间
     * @param endtime 结束时间
     * @param code    订单编号
     * @param status  订单状态
     */
    IPage<MyOrderEntity> getFabricOrder(@Param("page") Page<MyOrderEntity> page, @Param("token") String token, @Param("cartid") Set<String> cartid,
                                        @Param("time") String time, @Param("endtime") String endtime, @Param("status") Integer status
            , @Param("code") String code, @Param("orgCode") String orgCode,
                                        @Param("fabricCode") String fabricCode, @Param("emp") String emp, @Param("cusname") String cusname);


    /**
     * 获取个订订单
     *
     * @param page
     * @param time
     * @param endtime
     * @param status
     * @param code
     * @param orgCode
     */
    IPage<MlccSingleOrderInfo> getSingleOder(@Param("page") Page<MlccSingleOrderInfo> page, @Param("time") String time,
                                             @Param("endtime") String endtime, @Param("status") Integer status,
                                             @Param("code") String code, @Param("orgCode") String orgCode,
                                             @Param("cusname") String cusname, @Param("emp") String emp);

    /**
     * 获取团订订单
     *
     * @param page
     * @param time
     * @param endtime
     * @param status
     * @param code
     * @param orgCode
     */
    IPage<MlccTeamOrderInfo> getTeamOder(@Param("page") Page<MlccTeamOrderInfo> page, @Param("time") String time,
                                         @Param("endtime") String endtime, @Param("status") Integer status,
                                         @Param("code") String code, @Param("orgCode") String orgCode,
                                         @Param("companyName") String companyName, @Param("emp") String emp);

    /**
     * 获取现货订单
     *
     * @param page
     * @param time
     * @param endtime
     * @param status
     * @param code
     * @param orgCode
     */
    IPage<MlccThirdGoodsOrder> getGoodsOder(@Param("page") Page<MlccThirdGoodsOrder> page, @Param("time") String time,
                                            @Param("endtime") String endtime, @Param("status") Integer status,
                                            @Param("code") String code, @Param("orgCode") String orgCode);
}
